package Pacote2;

import grails.test.*
import les.*

class MudarSenhaFunctionalTests extends functionaltestplugin.FunctionalTestCase {

	//Senha Atual errada
	void testMudarSenhaErrada() {
		Usuario jota = new Usuario(email: "jota@gmail.com", senha: new String("123456".encodeAsMD5Hex()), tipo: "Jota")
		jota.save()

		get ("/usuario/login")

		form() {
			email = "jota@gmail.com"
			senha = "123456"
			click "entrar"
		}

		assertContentContains "Logado"
		assertContentContainsStrict "jota@gmail.com"

		click "Alterar senha"

		assertContentContains "Senha Atual"
		form(){
			senha_atual = "1234f"
			senha_nova = "11111"
			confirmar_senha = "11111"
			click "alterar"
		}

		assertContentContains "A senha atual não é válida"
	}

	//Nova Senha não é a mesma que Confirmar Nova Senha
	void testMudarSenhaNaoConfere() {
		Usuario jota = new Usuario(email: "jota@gmail.com", senha: new String("123456".encodeAsMD5Hex()), tipo: "Jota")
		jota.save()

		get ("/usuario/login")

		form() {
			email = "jota@gmail.com"
			senha = "123456"
			click "entrar"
		}

		assertContentContains "Logado"
		assertContentContainsStrict "jota@gmail.com"

		click "Alterar senha"

		assertContentContains "Senha Atual"
		form(){
			senha_atual = "123456"
			senha_nova = "11111"
			confirmar_senha = "11112"
			click "alterar"
		}

		assertContentContains "As senhas não conferem uma com a outra"
	}

	void testMudarSenha() {
		Usuario jota = new Usuario(email: "jota1@gmail.com", senha: new String("123456".encodeAsMD5Hex()), tipo: "Jota")
		jota.save()

		get ("/usuario/login")

		form() {
			email = "jota1@gmail.com"
			senha = "123456"
			click "entrar"
		}

		assertContentContains "Logado"
		assertContentContainsStrict "jota1@gmail.com"

		click "Alterar senha"

		assertContentContains "Senha Atual"
		form(){
			senha_atual = "123456"
			senha_nova = "11111"
			confirmar_senha = "11111"
			click "alterar"
		}
	}
	
}
